HAProxy : Load Balancing on Layer4
2016/06/07 |
Configure HAProxy on Layer4 Mode.
This example based on the environment like follows. | -------+----------------------------------------------- | +-------------------+--------------------+ |10.0.0.30 |10.0.0.51 |10.0.0.52 +-----+-----+ +-------+------+ +-------+------+ | Frontend | | Backend#1 | | Backend#2 | | HAProxy | | MariaDB | | MariaDB | +-----------+ +--------------+ +--------------+ |
[1] | Configure HAProxy. |
root@dlp:~#
vi /etc/haproxy/haproxy.cfg global log 127.0.0.1 local2 info chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 256 user haproxy group haproxy daemon defaults # set "mode tcp" for Layer4 mode tcp log global timeout connect 10s timeout client 30s timeout server 30s # define frontend and backend servers frontend mysql-in bind *:3306 default_backend backend_servers backend backend_servers balance roundrobin server db01 10.0.0.51:3306 check server db02 10.0.0.52:3306 check systemctl restart haproxy |
[2] | Make sure all works fine to access to the frontend server from a Client with SQL like follows. |
root@desktop:~# mysql -u keystone -p -h 10.0.0.30 keystone -e "select * from table01;" Enter password: +------+-------------------+ | id | name | +------+-------------------+ | 1 | db01.srv.world | +------+-------------------+root@desktop:~# mysql -u keystone -p -h 10.0.0.30 keystone -e "select * from table01;" Enter password: +------+-------------------+ | id | name | +------+-------------------+ | 1 | db02.srv.world | +------+-------------------+ |